Multicasting is used to transmit a single packet to multiple recipients in a wired or wireless communication network. The Internet Protocol (IP) is used for IP multicasting to a reserved block of multicast addresses, or group addresses, which are defined for IPv4 and IPv6. A single source is therefore able to transmit a single packet including an IPv4 or IPv6 header with a multicast address and the packet will be received by all the members of the multicast group associated with the multicast address. In stateful multicasting, multicast packets are routed through a multicast distribution tree (MDT) that includes an ingress router that receives the multicast packet from a source, one or more transit routers, and one or more egress routers that provides copies of the multicast packet to local area networks or radio access networks for transmission to the members of the multicast group. The egress routers are referred to as leaf nodes and the ingress router is referred to as a root node of the MDT. The routers in the MDT are required to maintain control plane and data plane state information that defines routes taken by the multicast packets between the ingress router and the egress routers. Each router therefore maintains state information for each multicast flow that traverses the router.